<template>
  <div class="control-panel-introduction">
    <!-- 页面头部 -->
    <div class="page-header">
      <el-page-header @back="goBack" content="机组控制屏原理介绍">
        <template #title>
          <span class="header-title">整流发电机虚拟训练软件</span>
        </template>
        <template #extra>
          <div class="header-actions">
            <el-button type="primary" :icon="Printer" @click="handlePrint">打印</el-button>
            <el-button :icon="Download" @click="handleDownload">下载PDF</el-button>
          </div>
        </template>
      </el-page-header>
    </div>

    <!-- 内容区域 -->
    <div class="markdown-content">
      <!-- 标题区域 -->
      <h1 class="content-title">机组控制屏原理与结构介绍</h1>

      <!-- 概述部分 -->
      <section class="content-section">
        <h2>1. 机组控制屏概述</h2>
        <p>机组控制屏是发电机组的操作核心，集成了发电机运行监控、参数显示、操作控制和保护报警等功能。它是操作人员与发电机组进行交互的主要界面，确保发电机组安全、稳定、高效运行。</p>

        <p>在十二相整流发电机系统中，机组控制屏不仅提供基本的启停控制，还具备完善的监测和保护功能，能够实时显示发电机运行状态，及时发现并处理异常情况。</p>

        <!-- 控制屏外观示意图 -->
        <div class="image-placeholder">
          <p class="placeholder-text">[图：机组控制屏外观示意图]</p>
          <div class="placeholder-box">
            <span>机组控制屏外观图</span>
          </div>
        </div>
      </section>

      <!-- 结构组成 -->
      <section class="content-section">
        <h2>2. 机组控制屏结构组成</h2>

        <h3>2.1 硬件组成</h3>
        <p>机组控制屏主要由以下硬件部分组成：</p>

        <el-row :gutter="20">
          <el-col :span="12">
            <div class="component-list">
              <div class="component-item">
                <h4>显示部分</h4>
                <ul>
                  <li>液晶显示屏：显示发电机运行参数</li>
                  <li>指示灯：显示设备运行状态</li>
                  <li>报警灯：显示故障和报警信息</li>
                </ul>
              </div>

              <div class="component-item">
                <h4>操作部分</h4>
                <ul>
                  <li>操作按钮：启停控制和功能选择</li>
                  <li>旋钮开关：参数调节和模式切换</li>
                  <li>急停按钮：紧急情况下快速停机</li>
                </ul>
              </div>
            </div>
          </el-col>

          <el-col :span="12">
            <!-- 控制屏结构示意图 -->
            <div class="image-placeholder">
              <p class="placeholder-text">[图：机组控制屏结构示意图]</p>
              <div class="placeholder-box">
                <span>机组控制屏结构分解图</span>
              </div>
            </div>
          </el-col>
        </el-row>

        <h3>2.2 软件功能</h3>
        <p>机组控制屏的软件系统实现以下核心功能：</p>

        <el-collapse v-model="activeCollapse">
          <el-collapse-item title="运行监控" name="monitoring">
            <p>实时监测发电机运行状态，包括：</p>
            <ul>
              <li>电压、电流、频率显示</li>
              <li>功率和功率因数监测</li>
              <li>温度监测（轴承、绕组等）</li>
              <li>运行时间统计</li>
            </ul>
          </el-collapse-item>

          <el-collapse-item title="控制功能" name="control">
            <p>提供完整的机组控制功能：</p>
            <ul>
              <li>手动/自动启停控制</li>
              <li>并网/解列操作</li>
              <li>负载分配控制</li>
              <li>参数设置和调节</li>
            </ul>
          </el-collapse-item>

          <el-collapse-item title="保护功能" name="protection">
            <p>多重保护机制确保机组安全：</p>
            <ul>
              <li>过压/欠压保护</li>
              <li>过流/过载保护</li>
              <li>过频/欠频保护</li>
              <li>温度过高保护</li>
              <li>失磁保护</li>
            </ul>
          </el-collapse-item>

          <el-collapse-item title="通信功能" name="communication">
            <p>支持多种通信接口：</p>
            <ul>
              <li>RS485通信接口</li>
              <li>以太网接口</li>
              <li>Modbus协议支持</li>
              <li>远程监控功能</li>
            </ul>
          </el-collapse-item>
        </el-collapse>
      </section>

      <!-- 工作原理 -->
      <section class="content-section">
        <h2>3. 机组控制屏工作原理</h2>

        <h3>3.1 基本工作原理</h3>
        <p>机组控制屏通过传感器和互感器采集发电机运行参数，经过数据处理和逻辑判断，实现对机组的监控、控制和保护功能。</p>

        <p>控制屏采用模块化设计，各个功能模块相对独立又相互配合，确保系统稳定可靠运行。</p>

        <!-- 控制屏工作原理图 -->
        <div class="image-placeholder">
          <p class="placeholder-text">[图：机组控制屏工作原理框图]</p>
          <div class="placeholder-box large">
            <span>机组控制屏工作原理示意图</span>
            <p>展示控制屏与发电机组各部分的连接关系和信号流向</p>
          </div>
        </div>

        <h3>3.2 工作流程</h3>
        <ol>
          <li>参数采集：通过传感器实时采集发电机运行参数</li>
          <li>数据处理：对采集的数据进行滤波、转换和计算</li>
          <li>逻辑判断：根据预设逻辑判断机组运行状态</li>
          <li>显示输出：在显示屏和指示灯上显示相关信息</li>
          <li>控制执行：根据操作指令执行相应控制动作</li>
          <li>保护动作：在异常情况下执行保护措施</li>
          <li>数据通信：与上位机或其他设备进行数据交换</li>
        </ol>
      </section>

      <!-- 技术参数 -->
      <section class="content-section">
        <h2>4. 主要技术参数</h2>

        <el-table :data="technicalParams" stripe style="width: 100%">
          <el-table-column prop="parameter" label="参数名称" width="180"></el-table-column>
          <el-table-column prop="value" label="参数值" width="120"></el-table-column>
          <el-table-column prop="unit" label="单位" width="80"></el-table-column>
          <el-table-column prop="description" label="说明"></el-table-column>
        </el-table>

        <h3>4.1 性能特点</h3>
        <p>十二相整流发电机系统中的机组控制屏具有以下性能特点：</p>

        <el-row :gutter="16">
          <el-col :span="8">
            <el-card shadow="hover" class="feature-card">
              <template #header>
                <div class="feature-header">
                  <el-icon><Monitor /></el-icon>
                  <span>人机界面友好</span>
                </div>
              </template>
              <div class="feature-content">
                <p>大屏幕液晶显示，操作简便直观</p>
              </div>
            </el-card>
          </el-col>

          <el-col :span="8">
            <el-card shadow="hover" class="feature-card">
              <template #header>
                <div class="feature-header">
                  <el-icon><Setting /></el-icon>
                  <span>功能完善</span>
                </div>
              </template>
              <div class="feature-content">
                <p>集监控、控制、保护于一体</p>
              </div>
            </el-card>
          </el-col>

          <el-col :span="8">
            <el-card shadow="hover" class="feature-card">
              <template #header>
                <div class="feature-header">
                  <el-icon><Lock /></el-icon>
                  <span>高可靠性</span>
                </div>
              </template>
              <div class="feature-content">
                <p>多重保护机制，确保安全运行</p>
              </div>
            </el-card>
          </el-col>
        </el-row>
      </section>

      <!-- 操作说明 -->
      <section class="content-section">
        <h2>5. 操作说明</h2>

        <h3>5.1 基本操作流程</h3>
        <el-steps :active="activeStep" finish-status="success" simple>
          <el-step title="开机准备" />
          <el-step title="启动机组" />
          <el-step title="并网运行" />
          <el-step title="正常运行" />
          <el-step title="停机操作" />
        </el-steps>

        <el-timeline>
          <el-timeline-item timestamp="开机准备" placement="top">
            <el-card>
              <h4>操作要点</h4>
              <ul>
                <li>检查控制屏各指示灯状态</li>
                <li>确认各开关处于正确位置</li>
                <li>检查报警信息</li>
                <li>确认参数设置正确</li>
              </ul>
            </el-card>
          </el-timeline-item>

          <el-timeline-item timestamp="启动机组" placement="top">
            <el-card>
              <h4>操作要点</h4>
              <ul>
                <li>按下启动按钮</li>
                <li>观察启动过程中的参数变化</li>
                <li>确认机组达到额定转速</li>
                <li>检查有无异常报警</li>
              </ul>
            </el-card>
          </el-timeline-item>

          <el-timeline-item timestamp="并网运行" placement="top">
            <el-card>
              <h4>操作要点</h4>
              <ul>
                <li>检查电压、频率是否匹配</li>
                <li>合上主开关</li>
                <li>观察功率变化</li>
                <li>调整负载分配</li>
              </ul>
            </el-card>
          </el-timeline-item>
        </el-timeline>

        <h3>5.2 参数设置</h3>
        <p>机组控制屏支持多种参数设置：</p>

        <el-tabs type="border-card">
          <el-tab-pane label="电气参数">
            <ul>
              <li>额定电压设置</li>
              <li>额定频率设置</li>
              <li>过压保护值设置</li>
              <li>欠压保护值设置</li>
            </ul>
          </el-tab-pane>
          <el-tab-pane label="保护参数">
            <ul>
              <li>过流保护延时设置</li>
              <li>温度保护阈值设置</li>
              <li>频率保护范围设置</li>
              <li>失磁保护参数设置</li>
            </ul>
          </el-tab-pane>
          <el-tab-pane label="控制参数">
            <ul>
              <li>启动方式选择</li>
              <li>并网条件设置</li>
              <li>负载分配参数</li>
              <li>调速器参数</li>
            </ul>
          </el-tab-pane>
        </el-tabs>
      </section>

      <!-- 维护与故障处理 -->
      <section class="content-section">
        <h2>6. 维护与故障处理</h2>

        <h3>6.1 日常维护要点</h3>
        <el-timeline>
          <el-timeline-item timestamp="每日检查" placement="top">
            <el-card>
              <h4>日常检查项目</h4>
              <ul>
                <li>检查控制屏显示是否正常</li>
                <li>检查各指示灯状态</li>
                <li>查看有无报警信息</li>
                <li>清洁控制屏表面</li>
              </ul>
            </el-card>
          </el-timeline-item>

          <el-timeline-item timestamp="每周检查" placement="top">
            <el-card>
              <h4>周检项目</h4>
              <ul>
                <li>检查接线端子紧固情况</li>
                <li>检查按钮和开关操作是否灵活</li>
                <li>备份重要参数设置</li>
                <li>测试报警功能</li>
              </ul>
            </el-card>
          </el-timeline-item>

          <el-timeline-item timestamp="每月检查" placement="top">
            <el-card>
              <h4>月检项目</h4>
              <ul>
                <li>检查内部清洁度</li>
                <li>检查风扇运行状态</li>
                <li>校准测量仪表</li>
                <li>检查通信功能</li>
              </ul>
            </el-card>
          </el-timeline-item>
        </el-timeline>

        <h3>6.2 常见故障及处理</h3>

        <el-collapse v-model="activeFaults" accordion>
          <el-collapse-item title="显示屏无显示" name="display">
            <div class="fault-content">
              <h4>故障现象：</h4>
              <ul>
                <li>显示屏黑屏或白屏</li>
                <li>无任何显示信息</li>
                <li>背光不亮</li>
              </ul>

              <h4>可能原因：</h4>
              <ul>
                <li>电源供电异常</li>
                <li>显示屏故障</li>
                <li>主板故障</li>
                <li>连接线松动</li>
              </ul>

              <h4>处理方法：</h4>
              <ol>
                <li>检查控制屏电源供电</li>
                <li>检查显示屏连接线</li>
                <li>重启控制系统</li>
                <li>联系专业维修人员</li>
              </ol>
            </div>
          </el-collapse-item>

          <el-collapse-item title="参数显示异常" name="parameter">
            <div class="fault-content">
              <h4>故障现象：</h4>
              <ul>
                <li>显示数值明显偏离正常范围</li>
                <li>某些参数不显示</li>
                <li>参数跳变或不稳定</li>
              </ul>

              <h4>可能原因：</h4>
              <ul>
                <li>传感器故障</li>
                <li>信号线干扰</li>
                <li>变送器故障</li>
                <li>参数设置错误</li>
              </ul>

              <h4>处理方法：</h4>
              <ol>
                <li>检查传感器接线</li>
                <li>检查信号屏蔽情况</li>
                <li>校准测量参数</li>
                <li>更换故障传感器</li>
              </ol>
            </div>
          </el-collapse-item>

          <el-collapse-item title="按键无响应" name="button">
            <div class="fault-content">
              <h4>故障现象：</h4>
              <ul>
                <li>按下按钮无反应</li>
                <li>操作延迟严重</li>
                <li>部分按键失效</li>
              </ul>

              <h4>可能原因：</h4>
              <ul>
                <li>按键机械卡滞</li>
                <li>触点氧化或污染</li>
                <li>控制板故障</li>
                <li>程序异常</li>
              </ul>

              <h4>处理方法：</h4>
              <ol>
                <li>清洁按键表面和缝隙</li>
                <li>检查按键连接</li>
                <li>重启控制系统</li>
                <li>更换故障按键</li>
              </ol>
            </div>
          </el-collapse-item>
        </el-collapse>
      </section>

      <!-- 相关知识链接 -->
      <section class="content-section">
        <h2>7. 相关知识链接</h2>

        <div class="knowledge-links">
          <el-card
              v-for="link in relatedLinks"
              :key="link.title"
              class="link-card"
              @click="navigateTo(link.path)"
          >
            <template #header>
              <div class="card-header">
                <el-icon><Connection /></el-icon>
                <span>{{ link.title }}</span>
              </div>
            </template>
            <div class="card-content">
              <p>{{ link.description }}</p>
              <div class="card-actions">
                <el-tag :type="link.type" size="small">{{ link.category }}</el-tag>
              </div>
            </div>
          </el-card>
        </div>
      </section>
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { 
  Printer, 
  Download, 
  Monitor, 
  Setting, 
  Lock, 
  Connection 
} from '@element-plus/icons-vue';

const router = useRouter();
const activeCollapse = ref(['monitoring']);
const activeFaults = ref(['display']);
const activeStep = ref(3);

// 技术参数数据
const technicalParams = ref([
  {
    parameter: '工作电压',
    value: 'AC220',
    unit: 'V',
    description: '控制屏工作电源电压'
  },
  {
    parameter: '工作频率',
    value: '50',
    unit: 'Hz',
    description: '控制屏工作电源频率'
  },
  {
    parameter: '显示精度',
    value: '0.5',
    unit: '级',
    description: '参数显示精度等级'
  },
  {
    parameter: '响应时间',
    value: '0.1',
    unit: 's',
    description: '控制命令响应时间'
  },
  {
    parameter: '通信接口',
    value: 'RS485',
    unit: '',
    description: '标准通信接口'
  },
  {
    parameter: '防护等级',
    value: 'IP32',
    unit: '',
    description: '防尘防水等级'
  },
  {
    parameter: '工作温度',
    value: '-10~50',
    unit: '℃',
    description: '环境工作温度范围'
  },
  {
    parameter: '存储温度',
    value: '-25~70',
    unit: '℃',
    description: '设备存储温度范围'
  }
]);

// 相关知识链接
const relatedLinks = ref([
  {
    title: '发电机本体',
    description: '了解机组控制屏所控制的发电机本体结构和原理',
    path: '/principle/generator-body',
    category: '主机结构',
    type: 'primary'
  },
  {
    title: '自动电压调节器(AVR)',
    description: '学习AVR与控制屏的配合工作原理',
    path: '/principle/avr',
    category: '控制系统',
    type: 'success'
  },
  {
    title: '发电机组操作流程',
    description: '掌握通过控制屏操作发电机组的完整流程',
    path: '/principle/startup-operation',
    category: '操作规程',
    type: 'warning'
  },
  {
    title: '故障诊断与排除',
    description: '学习通过控制屏进行故障诊断的方法',
    path: '/principle/fault-maintenance',
    category: '故障处理',
    type: 'danger'
  }
]);

const goBack = () => {
  router.back();
};

const handlePrint = () => {
  window.print();
};

const handleDownload = () => {
  // 实现PDF下载功能
  console.log('下载PDF');
};

const navigateTo = (path) => {
  router.push(path);
};
</script>

<style scoped>
.control-panel-introduction {
  padding: 20px;
  background-color: #f5f7fa;
  min-height: 100vh;
}

.page-header {
  margin-bottom: 24px;
  background-color: #fff;
  padding: 16px;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}

.header-title {
  font-size: 18px;
  font-weight: bold;
}

.header-actions {
  display: flex;
  gap: 10px;
}

.markdown-content {
  background-color: #fff;
  padding: 24px;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}

.content-title {
  font-size: 28px;
  color: #303133;
  text-align: center;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid #409eff;
}

.content-section {
  margin-bottom: 40px;
}

.content-section h2 {
  font-size: 22px;
  color: #303133;
  margin-bottom: 16px;
  padding-left: 8px;
  border-left: 4px solid #409eff;
}

.content-section h3 {
  font-size: 18px;
  color: #606266;
  margin: 16px 0 12px 0;
}

.content-section h4 {
  font-size: 16px;
  color: #909399;
  margin: 12px 0 8px 0;
}

.content-section p {
  line-height: 1.6;
  color: #606266;
  margin-bottom: 16px;
}

.content-section ul, .content-section ol {
  padding-left: 24px;
  margin-bottom: 16px;
}

.content-section li {
  line-height: 1.6;
  color: #606266;
  margin-bottom: 8px;
}

/* 图片占位符样式 */
.image-placeholder {
  margin: 20px 0;
  text-align: center;
}

.placeholder-text {
  font-style: italic;
  color: #909399;
  margin-bottom: 10px;
}

.placeholder-box {
  border: 2px dashed #dcdfe6;
  border-radius: 4px;
  padding: 40px 20px;
  background-color: #fafafa;
  color: #909399;
}

.placeholder-box.large {
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.placeholder-box img {
  max-width: 100%;
  height: auto;
}

/* 组件列表样式 */
.component-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.component-item {
  background-color: #f8f9fa;
  padding: 16px;
  border-radius: 4px;
  border-left: 4px solid #409eff;
}

.component-item h4 {
  margin-top: 0;
  color: #303133;
}

/* 特性卡片样式 */
.feature-card {
  height: 100%;
}

.feature-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
}

.feature-content {
  min-height: 60px;
}

/* 故障内容样式 */
.fault-content h4 {
  color: #606266;
  margin: 16px 0 8px 0;
}

.fault-content ul, .fault-content ol {
  margin-left: 20px;
}

/* 知识链接样式 */
.knowledge-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.link-card {
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
  height: 100%;
}

.link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
}

.card-content {
  min-height: 80px;
}

.card-actions {
  margin-top: 12px;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .control-panel-introduction {
    padding: 12px;
  }

  .markdown-content {
    padding: 16px;
  }

  .content-title {
    font-size: 24px;
  }

  .content-section h2 {
    font-size: 20px;
  }

  .content-section h3 {
    font-size: 16px;
  }

  .knowledge-links {
    grid-template-columns: 1fr;
  }

  .header-actions {
    flex-direction: column;
    gap: 8px;
  }
}

/* 打印样式 */
@media print {
  .page-header, .header-actions {
    display: none;
  }

  .control-panel-introduction {
    padding: 0;
    background-color: #fff;
  }

  .markdown-content {
    padding: 0;
    box-shadow: none;
  }

  .placeholder-box {
    border: 1px solid #ccc;
    background-color: #fff;
  }
}
</style>